﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD><TITLE>Reload</TITLE>
<META http-equiv=Content-Type content="text/html; charset=UTF-8"><LINK 
href="../css/commands.css" type=text/css rel=stylesheet><LINK media=print 
href="../css/print.css" type=text/css rel=stylesheet>
<META content="MSHTML 6.00.6000.16674" name=GENERATOR></HEAD>
<BODY>
<H1>Reload</H1>


<P>用一个新的脚本实例来替换当前运行的实例。</P>
<P class=CommandSyntax>Reload </P>
<P>这个命令对于频繁改变的脚本很有用。给这个命令指定热键，你可以在编辑器保存改动后轻松地重启脚本。</P>
<P>任何传递给原始脚本的 <A href="../Scripts.htm#cmd">command-line 
parameters</A>(命令行参数)不会被传递给新的实例。不要使用 Reload 来传递这样的参数。相应地，使用 <A 
href="Run.htm">Run</A> 命令配合 <A href="../Variables.htm#AhkPath">A_AhkPath</A> 和 
<A href="../Variables.htm#ScriptFullPath">A_ScriptFullPath</A> 变量(以及 <A 
href="../Variables.htm#IsCompiled">A_IsCompiled</A> 变量，如果脚本总是用在被编译过的形式)。同样，包含字串 
<EM>/restart</EM> 作为第一个参数(也就是说，在可执行程序名字的后面)，这告诉程序执行和 Reload 相同的动作。也可参见：<A 
href="../Scripts.htm#cmd">command line switches and syntax</A>(命令行开关和语法)。</P>
<P>当脚本重启时，它在它的原来的工作目录(实际上是当它被首次载入时的那个目录)载入。也就是说，<A 
href="SetWorkingDir.htm">SetWorkingDir</A> 将不会改变被新的实例使用的工作目录。</P>
<P>如果脚本不能被重载 -- 也许是因为它有一个语法错误 -- 原来的脚本实例会继续运行。因此，Reload 
命令后面应该跟着一旦有失败时你想要采取的任何措施(例如一个 <A href="Return.htm">return</A> 
来退出当前子程序)。要想使原来的实例检测到失败，仿照此例：</P><PRE>Reload
Sleep 1000 <SPAN class=CodeCom>; 如果成功，reload 将会在 Sleep 期间关闭这个实例，因此下一行命令将从不执行。</SPAN>
MsgBox, 4,, 脚本不能被重载。你想打开它来编辑吗？
IfMsgBox, Yes, Edit
return</PRE>
<h3>相关命令</h3>
<P><A href="Edit.htm">Edit</A></P>
<h3>示例</h3><PRE class=NoIndent>^!r::Reload  <SPAN class=CodeCom>;指定 Ctrl-Alt-R 作为重启脚本的热键。</SPAN></PRE>
</BODY></HTML>
